package repositorios;

import dados.Produto;

public class RepositorioProdutosArray implements InterfaceRepositorioProduto {

	private Produto[] produto;
	private int contador;

	public RepositorioProdutosArray() {
		this.produto = new Produto[10];
		contador = 0;
	}

	@Override
	public void inserir(Produto p){
		if (contador == produto.length) {
			Produto[] aux = new Produto[produto.length];
			for (int i = 0; i < produto.length; i++) {
				aux[i] = produto[i];
			}
			Produto[] produto = new Produto[aux.length * 2];

			for (int i = 0; i < contador; i++) {
				produto[i] = aux[i];
			}
			produto[contador] = p;
		} else {
			produto[contador] = p;
		}
		contador++;
	}

	@Override
	public void remover(Produto p){
		int j = 0;
		while (j < contador && !produto[j].getCodigo().equals(p.getCodigo())) {
			j++;
		}
		
		for (int k = j; k < contador - 1; k++) {
			produto[k] = produto[k + 1];
		}
		contador--;
	}

	@Override
	public Produto procurar(String cod){
		Produto p = null;
		for (Produto produto2 : produto) {
			if (produto2.getCodigo().equals(cod)) {
				p = produto2;
			}
		}
		return p;
	}

	@Override
	public void atualizar(Produto p){
		Produto p2 = (Produto) procurar(p.getCodigo());
		p2.setValor(p.getValor());
		p2.setNome(p.getNome());
		p2.setQuantidade(p.getQuantidade());
	}
	
	public boolean verificar(Produto p){
		for (int i = 0; i < contador; i++) {
			if (produto[i].getCodigo().equals(p.getCodigo())) {
				return true;
			}
		}
		return false;
	}

}
